[HVM] Move ACPI timer to HV, which is the last platform timer in Qemu.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 25 Oct 2006 10:50:54 +0000 (11:50 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 25 Oct 2006 10:50:54 +0000 (11:50 +0100)
commitfcf4e106d0be62c04c62393632bb8b5a52c2dc8a
tree1cd785807ff527ac52f0aad588e46439d09318f2
parent94e4fb8a1d430fec021c1981f9fd25df6d0246a1
[HVM] Move ACPI timer to HV, which is the last platform timer in Qemu.

We found Vista polls ACPI timer very frequently (about 15 times
averagely) when handling timer (RTC @ 64HZ) interrupt routine. Though
the exact reason is known, it should be related to system time
adjustment. When it's in Qemu, the overhead is big. After moving,
Vista's idle overhead decreases dramatically from ~10% to 0.9%.=20

Another benefit is that Vista can only pass Performance rating with
this patch. The root cause is that ACPI timer in Qemu isn't
synchronous with other platform timer in HV, which results in Vista
complains "can't measure TSC frequency".

This patch changes vpit.h to vpt.h, for it not only has pit structure
in it, but other platform timer's structure. Another change is moving
ACPI timer and related address from acpi.h to ioreq.h, which can be shared
by HV and ACPI firmware.

Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
13 files changed:
tools/firmware/acpi/acpi_fadt.h
xen/arch/x86/hvm/Makefile
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/i8254.c
xen/arch/x86/hvm/io.c
xen/arch/x86/hvm/pmtimer.c [new file with mode: 0644]
xen/arch/x86/hvm/rtc.c
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/include/asm-x86/hvm/domain.h
xen/include/asm-x86/hvm/vpit.h [deleted file]
xen/include/asm-x86/hvm/vpt.h [new file with mode: 0644]
xen/include/public/hvm/ioreq.h